Providing useful information associated with an item in a document

ABSTRACT

A method includes recognizing an item within a first document based on a pattern associated with the item but not the exact content of the item. The method further includes identifying a link for the item and providing a second document that includes information associated with the item when the link for the item is selected.

RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.11/010,316, filed Dec. 14, 2004, the entire disclosure of which isincorporated herein by reference.

BACKGROUND

1. Field of the Invention

Implementations relate generally to information retrieval and, moreparticularly, to the presentation of useful information associated withitems in documents.

2. Description of Related Art

Modern computer networks, and in particular, the Internet, have madelarge bodies of information widely and easily available. Internet searchengines, for instance, index many millions of web documents that arelinked to the Internet. A user connected to the Internet can enter asimple search query to quickly locate web documents relevant to thesearch query.

Sometimes a user desires more information about an item in a webdocument that the web document itself does not provide.

SUMMARY

According to one aspect, a computer-readable medium includescomputer-executable instructions, including instructions for obtaining afirst document; instructions for recognizing an item within the firstdocument based on a pattern associated with the item but not the exactcontent of the item; instructions for identifying a link for the item;and instructions for providing a second document that includesinformation associated with the item when the link for the item isselected.

According to another aspect, a method includes recognizing an item in afirst document; verifying recognition of the item by locating one ormore keywords within a predetermined distance of the item in the firstdocument; identifying a link for the item when recognition of the itemhas been verified; and providing a second document that includesinformation associated with the item when the link for the item isselected.

According to a further aspect, a computer-readable medium includescomputer-executable instructions, including instructions for recognizingan item in a first document and instructions for transmitting a portionof the first document, where the portion includes less than all of thefirst document. The computer-readable medium further includesinstructions for receiving identification of the item, instructions foridentifying a link for the item, and instructions for providing a seconddocument that includes information associated with the item when thelink for the item is selected.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate an embodiment of the inventionand, together with the description, explain the invention. In thedrawings,

FIG. 1 is an exemplary diagram illustrating a concept consistent withthe principles of the invention;

FIG. 2 is an exemplary diagram of a network in which systems and methodsconsistent with the principles of the invention may be implemented;

FIG. 3 is an exemplary diagram of a client or server of FIG. 2 accordingto an implementation consistent with the principles of the invention;

FIG. 4 is a diagram of a portion of an exemplary computer-readablemedium that may be used by a client according to an implementationconsistent with the principles of the invention;

FIG. 5 is an exemplary diagram of a graphical user interface that mayinclude a toolbar according to an implementation consistent with theprinciples of the invention;

FIGS. 6A-6C are flowcharts of exemplary processing for presenting usefulinformation relating to an item in a document according to animplementation consistent with the principles of the invention;

FIGS. 7-10 are exemplary diagrams of information that may be presentedto a user when an item corresponds to a tacking number; and

FIGS. 11-14 are exemplary diagrams of information that may be presentedto a user when an item corresponds to a postal address.

DETAILED DESCRIPTION

The following detailed description of the invention refers to theaccompanying drawings. The same reference numbers in different drawingsmay identify the same or similar elements. Also, the following detaileddescription does not limit the invention.

Overview

Systems and methods consistent with the principles of the invention mayprovide useful information associated with an item in a document. FIG. 1is an exemplary diagram illustrating a concept consistent with theprinciples of the invention. As shown at (A), a user may access adocument, such as a web page, using a web browser. The documentincludes, among other things, an item of information. As shown at (B),the item may be supplemented or replaced with a link (where theunderlining denotes a link). As shown at (C), selection of the link maycause another document to be presented to the user, where this otherdocument may include useful information associated with the item.

A “document,” as the term is used herein, is to be broadly interpretedto include any machine-readable and machine-storable work product. Adocument may include, for example, an e-mail, a web site, a file, acombination of files, one or more files with embedded links to otherfiles, a news group posting, a blog, a web advertisement, etc. In thecontext of the Internet, a common document is a web page. Web pagesoften include textual information and may include embedded information(such as meta information, images, hyperlinks, etc.) and/or embeddedinstructions (such as Javascript, etc.). A “link,” as the term is usedherein, is to be broadly interpreted to include any reference to/from adocument from/to another document or another part of the same document.

Exemplary Network Configuration

FIG. 2 is an exemplary diagram of a network 200 in which systems andmethods consistent with the principles of the invention may beimplemented. Network 200 may include multiple clients 210 connected tomultiple servers 220-240 via a network 250. Two clients 210 and threeservers 220-240 have been illustrated as connected to network 250 forsimplicity. In practice, there may be more or fewer clients and servers.Also, in some instances, a client may perform the functions of a serverand a server may perform the functions of a client.

Clients 210 may include client entities. An entity may be defined as adevice, such as a wireless telephone, a personal computer, a personaldigital assistant (PDA), a lap top, or another type of computation orcommunication device, a thread or process running on one of thesedevices, and/or an object executable by one of these devices. Servers220-240 may include server entities that gather, process, search, and/ormaintain documents in a manner consistent with the principles of theinvention.

In an implementation consistent with the principles of the invention,server 220 may include a search engine 225 usable by clients 210. Server220 may crawl a corpus of documents (e.g., web documents), index thedocuments, and store information associated with the documents in arepository of documents. Servers 230 and 240 may store or maintaindocuments that may be crawled or analyzed by server 120.

While servers 220-240 are shown as separate entities, it may be possiblefor one or more of servers 220-240 to perform one or more of thefunctions of another one or more of servers 220-240. For example, it maybe possible that two or more of servers 220-240 are implemented as asingle server. It may also be possible for a single one of servers220-240 to be implemented as two or more separate (and possiblydistributed) devices.

Network 250 may include a local area network (LAN), a wide area network(WAN), a telephone network, such as the Public Switched TelephoneNetwork (PSTN), an intranet, the Internet, a memory device, or acombination of networks. Clients 210 and servers 220-240 may connect tonetwork 250 via wired, wireless, and/or optical connections.

Exemplary Client/Server Architecture

FIG. 3 is an exemplary diagram of a client or server entity (hereinaftercalled “client/server entity”), which may correspond to one or more ofclients 210 and/or servers 220-240, according to an implementationconsistent with the principles of the invention. The client/serverentity may include a bus 310, a processor 320, a main memory 330, a readonly memory (ROM) 340, a storage device 350, an input device 360, anoutput device 370, and a communication interface 380. Bus 310 mayinclude a path that permits communication among the elements of theclient/server entity.

Processor 320 may include a conventional processor, microprocessor, orprocessing logic that interprets and executes instructions. Main memory330 may include a random access memory (RAM) or another type of dynamicstorage device that may store information and instructions for executionby processor 320. ROM 340 may include a conventional ROM device oranother type of static storage device that may store static informationand instructions for use by processor 320. Storage device 350 mayinclude a magnetic and/or optical recording medium and its correspondingdrive.

Input device 360 may include a conventional mechanism that permits anoperator to input information to the client/server entity, such as akeyboard, a mouse, a pen, voice recognition and/or biometric mechanisms,etc. Output device 370 may include a conventional mechanism that outputsinformation to the operator, including a display, a printer, a speaker,etc. Communication interface 380 may include any transceiver-likemechanism that enables the client/server entity to communicate withother devices and/or systems. For example, communication interface 380may include mechanisms for communicating with another device or systemvia a network, such as network 250.

As will be described in detail below, the client/server entity,consistent with the principles of the invention, may perform certaindocument processing-related operations. The client/server entity mayperform these operations in response to processor 320 executing softwareinstructions contained in a computer-readable medium, such as memory330. A computer-readable medium may be defined as a physical or logicalmemory device and/or carrier wave.

The software instructions may be read into memory 330 from anothercomputer-readable medium, such as data storage device 350, or fromanother device via communication interface 380. The softwareinstructions contained in memory 330 may cause processor 320 to performprocesses that will be described later. Alternatively, hardwiredcircuitry may be used in place of or in combination with softwareinstructions to implement processes consistent with the principles ofthe invention. Thus, implementations consistent with the principles ofthe invention are not limited to any specific combination of hardwarecircuitry and software.

Exemplary Computer-Readable Medium

FIG. 4 is a diagram of a portion of an exemplary computer-readablemedium 400 that may be used by a client 210 according to animplementation consistent with the principles of the invention. In oneimplementation, computer-readable medium 400 may correspond to memory330 of a client 210. The portion of computer-readable medium 400illustrated in FIG. 4 may include an operating system 410, browsersoftware 420, and toolbar software 430.

Operating system 410 may include conventional operating system software,such as the Windows, Unix, or Linux operating systems. Browser software420 may include software associated with a conventional web browser,such as the Microsoft Internet Explorer, Netscape Navigator, or MozillaFirefox browser.

Toolbar software 430 may include a plug-in, an applet, a dynamic linklibrary (DLL), or a similar executable object or process. Client 210 mayobtain the plug-in from server 220 or from a third party, such as athird party server, disk, tape, network, CD-ROM, etc. Alternatively, theplug-in may be pre-installed on client 210.

Toolbar software 430 may cause a toolbar, or another type of userinterface, to be implemented within a web browser window. The toolbarmay operate in conjunction with the web browser. In anotherimplementation, the toolbar is part of the web browser. In this latterimplementation, the web browser may perform the functions of thetoolbar. In yet another implementation, the toolbar is a processseparate from and running concurrently with the web browser. In thisother implementation, the toolbar may interface between the web browserand network 250.

Toolbar software 430 may be automatically activated upon initiation ofthe web browser. Alternatively, toolbar software 430 may be activatedwhen instructed by a user. In either case, the toolbar may take the formof a user interface that provides an extension to the web browser (e.g.,provides additional functionality not provided by the web browser).

FIG. 5 is an exemplary diagram of a graphical user interface 500 thatmay include a toolbar according to an implementation consistent with theprinciples of the invention. In this implementation, graphical userinterface 500 may correspond to a web browser window that currentlydisplays a document 510.

Graphical user interface 500 may include a toolbar 520 that may beimplemented by toolbar software 430 executed by a client 210. Toolbar520 may include one or more search boxes, software buttons, and/or menuelements selectable by a user to initiate different functions by toolbar520. In this case, a user may activate a function of toolbar 520 byentering information into a search box and/or selecting one of thesoftware buttons and/or menu elements. According to an implementationconsistent with the principles of the invention, one of the functionsperformed by toolbar 520 may include an autolink function thatsupplements items in a currently displayed document with usefulinformation associated with those items. The autolink function will bedescribed in more detail below.

Exemplary Processing

FIGS. 6A-6C are flowcharts of exemplary processing for presenting usefulinformation relating to an item in a document according to animplementation consistent with the principles of the invention.Processing may begin with a client 210 receiving a document (block 605)(FIG. 6A). In one implementation, a user uses a web browser associatedwith client 210 to locate a web document on a network, such as theInternet. The user may locate the document by entering an address (e.g.,a uniform resource locator (URL)) into an address box of the web browseror by performing a search based on a search query entered into a searchbox associated with a search engine (e.g., entering a search term intothe search box of toolbar 520 (FIG. 5)).

Toolbar 520 may strip the formatting from the document and analyze thecontents of the document to recognize item(s) of information in thedocument (blocks 610 and 615). An “item” may refer to any type ofinformation that may be identified based on pattern matching. Forexample, many types of information may differ in content, but match inthe general pattern of the characters they contain. Exemplary types ofinformation that may match in the general pattern of the characters theycontain may include postal addresses, telephone numbers, flightinformation, traffic information, product identification information,tracking numbers, document identification numbers (e.g., InternationalStandard Book Number (ISBN), International Standard Serial Number(ISSN), and Digital Object Identifier (DOI)), and vehicle identificationnumbers (VINs). Other types of information will be readily apparent tothose skilled in the art.

A postal address, for example, may contain information commonlyassociated with an address, such as a number (street or zip code), astreet name, a street type (road, street, lane, etc.), a city name, anda state name in relative close proximity to one another. Similarly,tracking numbers for a particular company may contain the same format.For example, the United Parcel Service (UPS) uses the following threeformats for its tracking numbers: 1Z 000 000 00 0000 000 0; 0000 00000000; and T000 0000 000. Therefore, these patterns of characters may beused to identify UPS tracking numbers. The other types of informationidentified above may contain their own patterns of characters.

Certain types of items are easy to recognize with high confidence and donot require much processing power or large sets of data. These types ofitems will hereafter be referred to as “client items.” Examples ofclient items might include tracking numbers, document identificationnumbers, and vehicle identification numbers. Other types of items arenot as easy to recognize with high confidence and require much moreprocessing power and/or large sets of data. These types of items willhereafter be referred to as “server items.” Examples of server itemsmight include postal addresses, telephone numbers, flight information,and product identification information.

For client items, toolbar 520 may perform pattern matching against apredetermined set of item patterns to recognize the items. For example,a vehicle identification number contains seventeen characters, includinga world manufacturer identifier section (three characters), a vehicledescriptor section (six characters), and a vehicle identifier section(eight characters). Each of the sections includes characters from aknown, limited, set of characters. Toolbar 520 may use this informationto recognize a vehicle identification number. Similarly, a documentidentification number, such as an ISBN, contains ten characters,including a country of origin or language code (one character), apublisher code (three characters), an item number (five characters), anda check digit (one character). The ISBN includes only numbers and thecheck digit provides a way to easily verify that a ten digit number isactually an ISBN. Toolbar 520 can recognize client items with highconfidence, but typically less than total confidence.

For server items, toolbar 520 may perform some basic pattern matching torecognize the items. For example, a postal address may containinformation typically associated with an address, such as a streetnumber, a street name, a street type (full or abbreviated), a city name,a state name (full or abbreviated), and a zip code. Toolbar 520 mayidentify one or more of these pieces of information and conclude thatthe item possibly corresponds to a postal address. Toolbar 520recognizes server items with lower confidence.

For a client item recognized by toolbar 520 (block 620), toolbar 520 mayverify the client item by locating keywords near the item (block 625)(FIG. 6B). “Near” may be defined as any number of characters, words, orterms to the left and/or right of an item. In one implementation, 64words/terms to the left and right of an item may be analyzed for thepresence of keywords.

For each type of client item, toolbar 520 may maintain a list ofkeywords that typically appear in a document near that type of clientitem. For example, possible keywords for a tracking number might include“ship,” “shipment,” “shipping,” “track,” “tracking,” “delivery,” and“package.” In one implementation, toolbar 520 may consider theappearance of a single one of the keywords near an item as verificationthat the item was correctly recognized. In another implementation,toolbar 520 may require the appearance of more than one keyword near anitem to verify that the item was correctly recognized. The appearance ofno keywords may be considered to be a false recognition and the itemmay, thereafter, be ignored.

Toolbar 520 may identify a link for the client item (block 630). Thelink may reference a server, such as server 220 (FIG. 2). The server mayhandle the reference by redirecting the reference to a document thatcontains useful information associated with the item. Alternatively, thelink may reference a document containing useful information directly.

Toolbar 520 may present the link to the user in several ways. Forexample, toolbar 520 may insert the link into the document, possiblyreplacing the item in the document with a link whose anchor text matchesthe characters of the item. In this case, the user might perceive nodifference in the contents of the document, but the item, in this case,would be underlined (or otherwise visually distinguished) to indicatethat the item corresponds to a link, as is well known in the art.Alternatively or additionally, toolbar 520 may notify the user of thelink via a button on the toolbar, a pop-up text block or window, and/ora drop-down list.

At some point, toolbar 520 may receive selection of the link (block635). For example, when the link takes the form of a link inserted intothe document, selecting the link may correspond to clicking on the link.When the link takes the form of a toolbar button or an element in apop-up text block or window or a drop-down list, selecting the link maycorrespond to clicking on the button or the element.

As explained above, the link may reference server 220. Therefore, inresponse to selection of the link, toolbar 520 may send a message toserver 220 (block 640). The message may include the client item andidentify the type of item that the client item is. Server 220 mayredirect to a document that includes useful information associated withthe item (block 645). Server 220 may store information that relatesdifferent types of items to documents that contain useful informationassociated with those items. For a vehicle identification number, forexample, server 220 may identify a document on a web site that providesinformation about specific vehicles, such as the CARFAX web site.Similarly, for a document identification number, server 220 may identifya document on a web site that provides information relating to the item,such as a web site associated with a publisher or an author of thedocument or a web site that sells a document identified by the item.

Server 220 may cause the identified document (i.e., the document withthe useful information) to be appropriately populated with the clientitem. For example, in the case of a vehicle identification number,server 220 may cause the appropriate field(s) of the document on theCARFAX web site to be populated with the vehicle identification number.Accordingly, the user may be presented with a document that containsuseful information associated with the item.

For a server item recognized by toolbar 520 (block 620) (FIG. 6A),toolbar 520 may send a portion of the document containing the item to aserver, such as server 220 (block 650) (FIG. 6C). The portion of thedocument sent to the server may be less than the entire document and mayinclude the item and any number of characters, words, or terms to theleft and/or right of the item. In one implementation, the portion of thedocument may include the item and 12 words/terms to the left and rightof the item. By sending only a portion of the document rather than theentire document, network traffic may be reduced.

Server 220 may analyze the portion of the document to recognize the item(block 655). Server 220 may perform known techniques, which may beprocessing-intensive or require large sets of data, to recognize theitem from the portion of the document it received from toolbar 520. Forexample, when the item corresponds to a full or partial postal address,server 220 may perform a known address recognition technique torecognize the postal address.

Server 220 may identify the recognized item to toolbar 520 (block 660).For example, server 220 may inform toolbar 520 of the part of thedocument that contains the recognized item. For example, server 220 mayidentify the full postal address to toolbar 520. Alternatively oradditionally, server 220 may mark the document portion to identify thestart and end of the recognized item.

Toolbar 520 may receive notification of the recognized item from server220 and identify a link for the server item (block 665). The link mayreference a server, such as server 220 (FIG. 2). The server may handlethe reference by redirecting the reference to a document that containsuseful information associated with the item. Alternatively, the link mayreference a document containing useful information directly.

As described above, toolbar 520 may present the link to the user inseveral ways. For example, toolbar 520 may insert the link into thedocument, possibly replacing the item in the document with a link whoseanchor text matches the characters of the item. In this case, the usermight perceive no difference in the contents of the document, but theitem, in this case, would be underlined (or otherwise visuallydistinguished) to indicate that the item corresponds to a link, as iswell known in the art. Alternatively or additionally, toolbar 520 maynotify the user of the link via a button on the toolbar, a pop-up textblock or window, and/or a drop-down list.

At some point, toolbar 520 may receive selection of the link (block670). For example, when the link takes the form of a link inserted intothe document, selecting the link may correspond to clicking on the link.When the link takes the form of a toolbar button or an element in apop-up text block or window or a drop-down list, selecting the link maycorrespond to clicking on the button or the element.

As explained above, the link may reference server 220. Therefore, inresponse to selection of the link, toolbar 520 may send a message toserver 220 (block 675). The message may include the server item andidentify the type of item that the server item is. Server 220 mayredirect to a document that includes useful information associated withthe item (block 680). Server 220 may store information that relatesdifferent types of items to documents that contain useful informationassociated with those items. For a postal address, for example, server220 may identify a document on a web site that provides a map of theaddress. Server 220 may cause the appropriate field(s) of the documentto be populated with the address so that map information associated withthe address may be obtained. Accordingly, the user may be presented witha document that contains useful information associated with the item.

Any or all of the autolink operations can be turned on or off or presetby the user. For example, the user may select to perform autolinkoperations only on client items or server items. Alternatively oradditionally, the user may select to only perform autolink operations onclient items and/or server items when the user indicates, such as byclicking on a button in toolbar 520. Alternatively or additionally, theuser may select to only add links to a document when the user indicates,such as by clicking on a button in toolbar 520.

Also if a document already contains a link associated with an item,toolbar 520, in one implementation, may leave the link alone. In thiscase, toolbar 520 may inform the user of the presence of the item in thedocument. Toolbar 520 may give the user the option of accessing adocument with useful information associated with the item using, forexample, a button on toolbar 520, a pop-up text block or window, and/ora drop-down list.

EXAMPLES Tracking Number Example

FIGS. 7-10 are exemplary diagrams of information that may be presentedto a user when an item corresponds to a tacking number. As shown in FIG.7, the user has accessed a document associated with a company from whichit appears the user purchased something. The toolbar may strip theformatting from the document and analyze the contents of the document torecognize item(s) of information in the document.

The toolbar may perform pattern matching and identify two trackingnumbers: 1Z92A02E0235698326 and 123456789012 in the document. Assumethat the toolbar identifies the first tracking number (i.e.,1Z92A02E0235698326) as a UPS tracking number and the second trackingnumber (i.e., 123456789012) as a Federal Express (FedEx) trackingnumber.

As explained above, the toolbar may recognize these tracking numberswith high confidence, though less than total confidence. Therefore, thetoolbar may verify the tracking numbers by determining whether certainkeywords appear in the document near the tracking numbers. In this case,the toolbar may identify the keywords “track” and “package” near thetracking numbers.

In one implementation, the toolbar may change or add one or more buttonson the toolbar based on what types of items the toolbar recognizes inthe document. As shown in FIG. 8, the toolbar may replace the “autolink”button with a “track package” button 810 based on the toolbar'srecognition of one or more tracking numbers in the document. In analternate implementation, the toolbar may leave the autolink button andsimply add track package button 810. In yet another implementation, theautolink button may be used regardless of the type of item recognized inthe document (i.e., no button will be replaced or added). In this case,link information may be presented to the user via, for example, adrop-down list or a pop-up text block or window.

The toolbar may identify links for the tracking numbers. As shown inFIG. 8, the toolbar may insert links into the document. For example, theunderlining of the tracking numbers in FIG. 8 is intended to mean thatthe tracking numbers have been replaced with links whose anchor textmatches the characters of the tracking numbers. As further shown in FIG.8, the toolbar may identify and provide links to the tracking numbersvia a drop down list 820. Drop down list 820 may optionally label thefirst tracking number as a UPS tracking number and the second trackingnumber as a FedEx tracking number. Drop down list 820 may alsooptionally include an element for removing all autolinks (i.e., turningoff the autolink feature).

In one implementation, the user may select track package button 810 onthe toolbar to visually distinguish in some manner (e.g., highlight) thetracking numbers recognized in the document. Each selection of the trackpackage button 810 may cause a next tracking number, if any, to bevisually distinguished. As shown in FIG. 9, the FedEx tracking number isvisually distinguished. As also shown in FIG. 9, a pop-up text block orwindow 910 may be presented to the user.

Assume that the user selects the FedEx tracking number. The user mayselect the tracking number by selecting (e.g., clicking) the linkinserted into the document, the corresponding element in drop down list820, or pop-up text block or window 910. As explained above, selectionof an item may cause the toolbar to send a message identifying the itemand the item type to a server. In this case, the toolbar may send amessage to the server with the tracking number 123456789012 andidentifying the item as a FedEx tracking number. The server may redirectto a document on the FedEx web site and may optionally populate theappropriate fields in the document to obtain tracking informationassociated with the FedEx tracking number. The server may cause thetracking information to be sent to the toolbar.

As shown in FIG. 10, the toolbar may present to the user a document withuseful information associated with the FedEx tracking number. In thiscase, the document corresponds to a document on the FedEx web site thatcontains tracking information associated with the tracking number.

Postal Address Example

FIGS. 11-14 are exemplary diagrams of information that may be presentedto a user when an item corresponds to a postal address. As shown in FIG.11, the user has accessed a document associated with a company. Thetoolbar may strip the formatting from the document and analyze thecontents of the document to recognize item(s) of information in thedocument.

The toolbar may perform pattern matching and identify what appears to bea postal address. As explained above, the toolbar, in oneimplementation, may not have the requisite processing power and/or dataset(s) to appropriately recognize a server item, such as a postaladdress. Accordingly, the toolbar may perform some basic patternmatching to recognize information commonly associated with a postaladdress, such as a street number, a street name, a street type (full orabbreviated), a city name, a state name (full or abbreviated), and a zipcode. In this case, the toolbar may recognize “Pkwy” as an abbreviationof a street type, “Mountain View” as the name of a city, “CA” as anabbreviation of a state name, and “94043” as a number containing anappropriate number of characters to match a zip code.

The toolbar may send a portion of the document containing the possiblepostal address to a server. The portion of the document sent to theserver, in this case, may include everything in corporate address block1110. The server may perform known recognition techniques to recognizethe possible postal address it received from the toolbar. The server mayidentify the recognized postal address to the toolbar. For example, theserver may inform the toolbar that the postal address corresponds to“1600 Amphitheatre Pkwy, Mountain View, Calif. 94043.” Alternatively oradditionally, the server may indicate the start and end of the postaladdress in the document portion.

In one implementation, the toolbar may change or add one or more buttonson the toolbar based on what types of items the toolbar recognizes inthe document. As shown in FIG. 12, the toolbar may replace the“autolink” button with a “look for map” button 1210 based on thetoolbar's identification of one or more postal addresses in thedocument. In an alternate implementation, the toolbar may leave theautolink button and simply add look for map button 1210. In yet anotherimplementation, the autolink button may be used regardless of the typeof item recognized in the document (i.e., no button will be replaced oradded). In this case, link information may be presented to the user via,for example, a drop-down list or a pop-up text block or window.

The toolbar may identify a link for the postal address. As shown in FIG.12, the toolbar may insert a link into the document. For example, theunderlining of the postal address in FIG. 12 is intended to mean thatthe postal address has been replaced with a link whose anchor textmatches the characters of the postal address. As further shown in FIG.12, the toolbar may identify and provide a link to the postal addressvia a drop down list 1220. Drop down list 1220 may optionally include anelement for removing all autolinks (i.e., turning off the autolinkfeature).

In one implementation, the user may select look for map button 1210 onthe toolbar to visually distinguish in some manner (e.g., highlight) thepostal address(es) recognized in the document. Each selection of thelook for map button 1210 may cause a next postal address, if any, to bevisually distinguished. As shown in FIG. 13, the 1600 Amphitheatre Pkwyaddress is visually distinguished. As also shown in FIG. 13, a pop-uptext block or window 1310 may be presented to the user.

Assume that the user selects the 1600 Amphitheatre Pkwy address. Theuser may select the address by selecting (e.g., clicking) the linkinserted into the document, the corresponding element in drop down list1220, or pop-up text block or window 1310. As explained above, selectionof an item may cause the toolbar to send a message identifying the itemand the item type to a server. In this case, the toolbar may send amessage to the server with the postal address “1600 Amphitheatre Pkwy,Mountain View, Calif. 94043” and identifying the item as a postaladdress. The server may redirect to a document on a map provider website and may optionally populate the appropriate fields in the documentto obtain map information associated with the postal address. The servermay cause the map information to be sent to the toolbar.

As shown in FIG. 14, the toolbar may present the user with a documentwith useful information associated with the postal address. In thiscase, the document corresponds to a document on a map provider's website that contains map information associated with the postal address.

CONCLUSION

Systems and methods consistent with the principles of the invention mayprovide useful information associated with an item in a document.

The foregoing description of preferred embodiments of the presentinvention provides illustration and description, but is not intended tobe exhaustive or to limit the invention to the precise form disclosed.Modifications and variations are possible in light of the aboveteachings or may be acquired from practice of the invention.

For example, while series of acts have been described with regard toFIGS. 6A-6C, the order of the acts may be modified in otherimplementations consistent with the principles of the invention.Further, non-dependent acts may be performed in parallel.

Also, exemplary user interfaces have been described with respect toFIGS. 5 and 7-14. In other implementations consistent with theprinciples of the invention, the user interfaces may include more,fewer, or different pieces of information.

It will be apparent to one of ordinary skill in the art that aspects ofthe invention, as described above, may be implemented in many differentforms of software, firmware, and hardware in the implementationsillustrated in the figures. The actual software code or specializedcontrol hardware used to implement aspects consistent with theprinciples of the invention is not limiting of the invention. Thus, theoperation and behavior of the aspects were described without referenceto the specific software code—it being understood that one of ordinaryskill in the art would be able to design software and control hardwareto implement the aspects based on the description herein.

No element, act, or instruction used in the present application shouldbe construed as critical or essential to the invention unless explicitlydescribed as such. Also, as used herein, the article “a” is intended toinclude one or more items. Where only one item is intended, the term“one” or similar language is used. Further, the phrase “based on” isintended to mean “based, at least in part, on” unless explicitly statedotherwise.

1. A method comprising: recognizing, by a device, an item that isincluded in a first document, the first document including an e-mailthat includes the item, where the item includes a plurality ofcharacters, where the item is recognized based on a pattern of theplurality of characters, the item being recognized as a particulartracking number of a particular shipment based on the pattern of theplurality of characters corresponding to a pattern of characters of atracking number of a shipment, and where the item is recognizedindependent of a particular content of the plurality of characters;determining, by the device and after recognizing the item, whether akeyword, of a plurality of keywords that are associated with trackingnumbers of shipments, is located in the first document; disregarding, bythe device, the item from further consideration when at least onekeyword, of the plurality of keywords associated with the trackingnumbers of shipments, is not located in the first document; and when thekeyword, of the plurality of keywords associated with the trackingnumbers of shipments, is located in the first document: identifying, bythe device, a link associated with the item, where the link references asecond document that includes information associated with the item,where the information, associated with the item and included in thesecond document, includes particular information associated with theparticular shipment, the particular information including the particulartracking number, and where the second document is different than thefirst document; providing, by the device, the link in the firstdocument; and providing, by the device, the first document, with thelink, for presentation on a display, where the second document isprovided when the link, in the first document, is selected.
 2. Themethod of claim 1, where the plurality of keywords are based on a typeof the item, the type of the item corresponding to a first type, andwhere a plurality of keywords, associated with a particular item of thefirst type, are different than a plurality of keywords associated with aparticular item of a second type that is different than the first type.3. The method of claim 1, where the particular information furtherincludes at least one of: information identifying a shipping date of theparticular shipment, information identifying an expected delivery dateof the particular shipment, or information identifying a deliverylocation of the particular shipment.
 4. The method of claim 1, wheredetermining whether the keyword is located in the first documentincludes: determining whether the keyword is located within a particulardistance of the item, and where the link is identified when the keywordis located, in the first document, within the particular distance of theitem.
 5. The method of claim 1, further comprising: recognizing anotheritem, that is included in a third document, based on a pattern of aplurality of characters included in the other item, where the pattern,of the plurality of characters included in the other item, correspondsto a pattern of characters associated with a postal address, the itembeing recognized as a particular postal address; determining whether akeyword, of a plurality of keywords that are associated with a postaladdress, is located in the third document; and providing the thirddocument, with a link that references a fourth document, forpresentation on the display, where the fourth document includes a mapincluding information that identifies the particular postal address. 6.The method of claim 1, further comprising: recognizing another item,that is included in a third document, based on a pattern of a pluralityof characters included in the other item, where the pattern, of theplurality of characters included in the other item, corresponds to apattern of characters associated with a vehicle identification number(VIN), the item being recognized as a particular VIN; determiningwhether a keyword, of a plurality of keywords that are associated with aVIN, is located in the third document; and providing the third document,with a link that references a fourth document, for presentation on thedisplay, where the fourth document includes information associated withthe particular VIN.
 7. The method of claim 1, further comprising:recognizing another item, that is included in a third document, based ona pattern of a plurality of characters included in the other item, wherethe pattern, of the plurality of characters included in the other item,corresponds to a pattern of characters associated with an InternationalStandard Book Number (ISBN); determining whether a keyword, of aplurality of keywords that are associated with an ISBN, is located inthe third document; and providing the third document, with a link thatreferences a fourth document, for presentation on the display, where thefourth document includes information associated with a particular ISBNcorresponding to the item.
 8. A device comprising: a memory to storeinstructions; and at least one processor to execute the instructions to:identify an item, that is included in a first document, as a particulartracking number of a particular shipment, the first document includingan e-mail that includes the item, where the item is identified as theparticular tracking number of the particular shipment independent of aparticular content of the plurality of characters; determine, after theitem has been identified, whether at least one keyword, of a pluralityof keywords associated with tracking numbers of shipments, is includedin the first document, where the plurality of keywords have beenassociated with the item prior to the item being identified in the firstdocument, disregard the item from further consideration when none, ofthe plurality of keywords associated with the tracking numbers ofshipments, is included in the first document, and when the at least onekeyword, of the plurality of keywords associated with the trackingnumbers of shipments, is included in the first document: identify areference, associated with the item, that identifies a second document,where the second document includes information associated with the item,where the information, associated with the item and included in thesecond document, includes particular information associated with theparticular shipment, the particular information including the particulartracking number, and where the second document is different than thefirst document, provide the reference in the first document, and providethe first document, with the reference, for presentation on a display,where the second document is provided when the reference, in the firstdocument, is selected.
 9. The device of claim 8, where the at least oneprocessor is to execute the instructions further to: identify anotheritem, that is included in the first document, based on a pattern of aplurality of characters included in the other item, where the pattern,of the plurality of characters included in the other item, correspondsto a pattern of characters associated with information identifying aflight, the item being identified as information identifying aparticular flight, determine whether at least one keyword, of aplurality of keywords that are associated with information identifying aflight, is located in the first document, and provide the firstdocument, with a reference that identifies a third document, forpresentation on the display, where the third document includesinformation associated with the particular flight.
 10. The device ofclaim 8, where the at least one processor is to execute the instructionsfurther to: identify another item, that is included in the firstdocument, based on a pattern of a plurality of characters included inthe other item, where the pattern, of the plurality of charactersincluded in the other item, corresponds to a pattern of charactersassociated with information identifying traffic, the item beingidentified as information identifying particular traffic, determinewhether at least one keyword, of a plurality of keywords that areassociated with information identifying traffic, is located in the firstdocument, and provide the first document, with a reference thatidentifies a third document, for presentation on the display, where thethird document includes information associated with the particulartraffic.
 11. The device of claim 8, where the at least one processor isto execute the instructions further to: identify another item that isincluded in the first document, determine, after the other item has beenidentified, that another keyword, of the plurality of keywords, isincluded in the first document, identify another reference, associatedwith the other item, that identifies a third document, where the thirddocument includes information associated with the other item, and wherethe third document is different than the first document and the seconddocument, and provide the other reference for presentation on thedisplay, with the reference, in the first document.
 12. The device ofclaim 8, where the at least one processor is to execute the instructionsfurther to: identify another item that is included in a third document,determine, after the other item has been identified, that a keyword, ofa plurality of other keywords, is included in the third document, wherethe plurality of other keywords have been associated with the other itemprior to the other item being identified in the third document, andwhere keywords, included in the plurality of keywords, are differentthan keywords included in the plurality of other keywords, identifyanother reference, associated with the other item, that identifies afourth document, where the fourth document includes informationassociated with the item, and where the fourth document is differentthan the third document, and provide the other reference in the fourthdocument.
 13. A non-transitory computer-readable medium comprising: oneor more instructions, which when executed by at least one processor ofone or more computer devices, cause the at least one processor to:identify an item, that is included in a first document, as a particulartracking number of a particular shipment, the first document includingan e-mail, where the identified item includes a plurality of characters,where the identified item is identified as the particular trackingnumber of the particular shipment based on a pattern of the plurality ofcharacters corresponding to a pattern of characters associated with atracking number of a shipment, and where the identified item isidentified independent of a particular content of the plurality ofcharacters; determine whether a keyword, of a plurality of keywordsassociated with tracking numbers of shipments, is included in the firstdocument, where the plurality of keywords correspond to keywords thathave been associated with the identified item prior to the identifieditem being identified in the first document; disregard the identifieditem from further consideration when at least one keyword, of theplurality of keywords associated with the tracking numbers of shipments,is not included in the first document; and when the keyword, of theplurality of keywords associated with the tracking numbers of shipments,is included in the first document: identify a link associated with theidentified item, where the link references a second document thatincludes information associated with the identified item, and where theinformation, associated with the identified item, includes particularinformation associated with the particular shipment, the particularinformation including the particular tracking number; provide the linkin the first document; and provide the first document, with the link,for presentation on a display, where the second document is providedwhen the link, in the document, is selected.
 14. The non-transitorycomputer-readable medium of claim 13, further comprising: one or moreinstructions to identify another item that is included in the firstdocument, one or more instructions to determine, after the other itemhas been identified, that a keyword, of a plurality of other keywords,is included in the first document, where the plurality of other keywordshave been associated with the other item prior to the other item beingidentified in the first document, and where keywords, included in theplurality of keywords, are different than keywords included in theplurality of other keywords, one or more instructions to identifyanother link, associated with the other item, that references aparticular document, where the particular document includes informationassociated with the other item, and where the particular document isdifferent than the first document and the second document, and one ormore instructions to provide the other link in the first document. 15.The non-transitory computer-readable medium of claim 13, where theparticular information further includes the particular tracking numberand at least one of: information identifying a weight of the particularshipment, or information indicating whether the particular shipment hasbeen delivered.
 16. The non-transitory computer-readable medium of claim13, further comprising one or more instructions to: identify anotheritem, that is included in the first document, based on a pattern of aplurality of characters included in the other item, where the pattern,of the plurality of characters included in the other item, correspondsto a pattern of characters associated with an International StandardSerial Number (ISSN), the item being identified as a particular ISSN,determine whether at least one keyword, of a plurality of keywords thatare associated with an ISSN, is located in the first document, andprovide the first document, with a reference that identifies a differentdocument, for presentation on the display, where the different documentincludes information associated with the particular ISSN.
 17. Thenon-transitory computer-readable medium of claim 13, where the pluralityof keywords are based on a type of the identified item, and where aplurality of keywords, associated with a particular item of a firsttype, are different than a plurality of keywords associated with aparticular item of a second type that is different than the first type.18. The non-transitory computer-readable medium of claim 13, furthercomprising: one or more instructions to identify another item that isincluded in the first document, one or more instructions to determine,after the other item has been identified, that another keyword, of theplurality of keywords, is included in the first document, one or moreinstructions to identify another link to a particular document thatincludes information associated with the other item, and one or moreinstructions to present, the link and the other link, in the documentfor presentation on the display.